package com.aks.server.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.math.BigDecimal;

/**
 * 活动价格计算配置
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "activity.price")
public class ActivityPriceConfig {
    /**
     * 基础价格
     */
    private BigDecimal basePrice = new BigDecimal("1000");

    /**
     * 人数相关配置
     */
    private PeopleConfig people = new PeopleConfig();

    /**
     * 天数相关配置
     */
    private DaysConfig days = new DaysConfig();

    /**
     * 任务相关配置
     */
    private TaskConfig tasks = new TaskConfig();

    /**
     * 队伍相关配置
     */
    private TeamConfig teams = new TeamConfig();

    @Data
    public static class PeopleConfig {
        /**
         * 基础人数
         */
        private Integer baseCount = 10;
        /**
         * 每增加的人数
         */
        private Integer incrementCount = 5;
        /**
         * 每增加人数的价格
         */
        private BigDecimal incrementPrice = new BigDecimal("100");
    }

    @Data
    public static class DaysConfig {
        /**
         * 基础天数
         */
        private Integer baseDays = 1;
        /**
         * 每增加天数的价格
         */
        private BigDecimal incrementPrice = new BigDecimal("200");
    }

    @Data
    public static class TaskConfig {
        /**
         * 基础任务数
         */
        private Integer baseCount = 5;
        /**
         * 每增加的任务数
         */
        private Integer incrementCount = 3;
        /**
         * 每增加任务数的价格
         */
        private BigDecimal incrementPrice = new BigDecimal("50");
    }

    @Data
    public static class TeamConfig {
        /**
         * 基础队伍数
         */
        private Integer baseCount = 2;
        /**
         * 每增加的队伍数
         */
        private Integer incrementCount = 1;
        /**
         * 每增加队伍数的价格
         */
        private BigDecimal incrementPrice = new BigDecimal("150");
    }
} 